package com.fredy.mvp;

public interface Presenter<M extends Model, V extends BaseView> {



    /**
     * 获取网络数据，更新界面
     *
     * @param isRefresh 新增参数，用来判断是否为下拉刷新调用，下拉刷新的时候不应该再显示加载界面和异常界面
     */
    void getData(boolean isRefresh);

    /** 
     * 加载更多数据
     */
    void getMoreData();

    /**
     * 注册module层
     *
     * @param module
     */
    void registerModule(M module);


    /**
     * 注册view层
     *
     * @param view
     */
    void registerView(V view);


    /**
     * 获取view
     *
     * @return
     */
    V getView();


    /**
     * 销毁动作
     */
    void destroy();
}
